The scalability of the optimization routines for DDR memory bus can be impacted by the complexity of parameter interactions, margin saturation, an execution timing, among other things.
Memory Reference Code (MRC) performs one-dimensional sweeps or two-dimensional (fine/coarse grid) training steps, to optimize electrical parameters. The increasing number of electrical parameters to optimize for makes this computationally inefficient due to significant overhead in run count. In addition, the sequence of training steps is determined empirically using Customer Reference Boards (CRB) and Reference Validation Platforms (RVP). This assumes that customer platforms are within the Product Design Guide (PDG). As a result, potential interactions between independent training steps are not determined on the fly. Some interactions are predetermined empirically using platforms that are not entirely representative of the entire ecosystem.
Margin saturation complexity can also impact scalability. A one dimensional training step is prone to error due to margin saturation. Averaging margins can mitigate noise impact, but averaging cannot account for margin saturation.
Execution time range sweeps can require empirical data from electrical validation procedures to determine sub-ranges. The ranges swept can be a subset of Design for Test capabilities, which can result in a constrained optimization.
It is understood that the drawings are not drawn to scale and are for illustrative purposes. In addition, in the drawings, like reference numerals designate corresponding parts throughout the several views.